package it.rikesh.aip2011.dataloading;

import it.rikesh.aip2011.server.meta.HutMeta;
import it.rikesh.aip2011.shared.model.Hut;

import java.util.List;
import java.util.logging.Logger;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.slim3.datastore.Datastore;

/**
 * Servlet che viene avviato automaticamente all'avvio dell'applicativo
 * per caricare i dati dai file xml al datastore
 * @author RN
 *
 */
public class CreateDataServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static final Logger log = Logger.getLogger(CreateDataServlet.class.getName());

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        

        HutMeta h = new HutMeta();
        log.info("Servlet controlla il datastore");
        List<Hut> list=Datastore.query(h).asList();
        if(list==null || list.size()==0){
            try{
                log.info("Servlet carica i dati");
                ServletContext context = getServletContext();
                
                new DataHandler(context);
                log.info("Servlet fine caricamento dati");
            }catch(Exception e){
                log.severe("Errore nel caricare i dati");
            }
        }
    }
}
